﻿
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using Website.Logger;
using DAL;
using BOL;
using System.Web.Script.Services;
using System.Web.Services;
using WebLib;
using UtilityExtensions;

namespace UILGestion.AlmacenAdmin
{
    public partial class NotaSalidaInsertForm : System.Web.UI.Page
    {

        public NotaSalidaInsertForm()
        {
            bol = new NotaSalidaBL();
        }


        private NotaSalidaBL bol;
        [WebMethod(), ScriptMethod()]
        public static string GetRecursos(String prefixText, String contextKey)
        {
            //aqui solo los   item de orden de compra pendientes por recepcion
            //string a=((DropDownList)almacenDropDownList).SelectedValue;
           // string id = System.Web.HttpContext.Current.Session["idAlmacen"].ToString();

           //contextKey-->idAlmacen;

            string idfecha = System.Web.HttpContext.Current.Session["idFecha"].ToString();
           
            DateTime idFecha = System.Web.HttpContext.Current.Session[idfecha].ToString().ToDate().Value;
                  

            KardexBL bol = new KardexBL();
            return Util.Tbl2Str(Util.EntidadToDataTable(bol.getSaldoActualList(contextKey.ToInt(), 
                idFecha.Year,
                idFecha.Month,
                idFecha.Day,
                30, 
                prefixText)));


        }

       

        [WebMethod(), ScriptMethod()]
        public static string GetProveedor(String prefixText, String contextKey)
        {

            ProveedorBL bol = new ProveedorBL();
            return bol.getProveedorAll(prefixText, 20);
        }

        
        [WebMethod(), ScriptMethod()]
        public static string GetEmpleado(String prefixText, String contextKey)
        {

            EmpleadoBL bol = new EmpleadoBL();
            return bol.getEmpleadoAll(prefixText, 20);
        }
      
     

        private void FormatForm()
        {

            //--------------------
            int idEmpleadoEmisor = int.Parse(System.Web.HttpContext.Current.Session["idEmpleado"].ToString());
            bool acceso = new DAL.FormularioAcceso().VerificarAcceso(DbUtil.Db,
                idEmpleadoEmisor,
                8, //Nota salida
                int.Parse(idObra.Value),
                2); //lectura
            //------------------------- 
            // los paneles presentes en el formulario
            mainPanel1.Visible = true;
            PanelBody.Visible=true;
            PanelButtom.Visible = true;

            idColeccionList.Value = Parametros.GenerarID().ToString();
            
            ShowAllComboBoxNew();

            //variales estaticas para el control del periodo

            idEmpresa.Value = DbUtil.Db.Obras.Single(p => p.idInternal == idObra.Value.ToInt()).Proyecto.idEmpresa.ToString();
            

          

            fechaPeriodo.Value = Util.GenerarID().ToString();
            Session["idFecha"] = fechaPeriodo.Value;

            loadAlmacenDestino();


            if (type.Value == "E")
            {
                
                LoadEntidad(int.Parse(internalid.Value));
                updateFecha();
                DataBindItems();
            }

            if (type.Value == "A")
            {
                
                fechaEmisonTextBox.Text = DateTime.Now.ToShortDateString();
                NotaSalida rec = new NotaSalida();
                numDocumentoLabel.Text = rec.getCorrelativo(DbUtil.Db, int.Parse(idAlmacen.Value));
                updateFecha();

                clearDataItem(); //esquema
                if (idNI.Value.ToInt()!=0)
                {
                    //carga desde Nota de Ingreso
                    var notaIngreso = DbUtil.Db.NotaIngresos.Single(p => p.idInternal == idNI.Value.ToInt());
                    fechaEmisonTextBox.Text = notaIngreso.fecha.Value.ToShortDateString();

                    DataTable items = Util.EntidadToDataTable(bol.GetNotaSalidaFromNotaIngreso(idNI.Value.ToInt()));
                    
                    DataSet ds = new DataSet();
                    ds.Tables.Add(items);
                    ds.AcceptChanges();
                    Session[idColeccionList.Value] = ds;

                }
                DataBindItems();

            }
           
            
            
            
            
            
        }
        private void clearDataItem()
        {
            DataTable items = Util.EntidadToDataTable(new NotaSalidaBL().GetNotaSalidaItem(0));

                DataSet ds = new DataSet();
                ds.Tables.Add(items);
                Session[idColeccionList.Value] = ds;
                
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {

                 

                if (!Page.IsPostBack)
                {
                    idObra.Value = (string)Request.QueryString["idObra"];
                    idOC.Value = (string)Request.QueryString["idOC"];
                    type.Value = (string)Request.QueryString["type"];
                    internalid.Value = (string)Request.QueryString["id"];
                    idAlmacen.Value = (string)Request.QueryString["idAlmacen"];
                    idNI.Value = (string)Request.QueryString["idNI"];
                    

                    menuObraCtrl1.loadMenuAlmacen(int.Parse(idObra.Value), int.Parse(idAlmacen.Value)); 
                    

                FormatForm();

               

                }


            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }

        }

        //private void setEstadistica()
        //{
        //    List<view_ComparativoItem> itemList=
        //        (List<view_ComparativoItem>)Session[idobjectdsLabel.Value];



        //    if (itemList.Count() > 0)
        //        {
        //            totalBaseTextBox.Text = itemList.Sum(p => p.totalComparar).ToString();
        //            totalBaseTextBox.Text = itemList.ElementAt(0).simbolBase.ToString() + " " + totalBaseTextBox.Text;
        //            totalComparativoLabel.Text = itemList.Sum(p => p.totalBaseOrig).ToString();
        //            totalComparativoLabel.Text = itemList.ElementAt(0).simbolBase.ToString() + " " + itemList.Sum(p => p.totalBaseOrig).ToString();
        //        using (dbGestionDataContext _db = new dbGestionDataContext(Parametros.strConnString))
        //        {
        //            EstructuraCosto ec = _db.EstructuraCosto.Single(p => p.idInternal == int.Parse(idEstructuraCosto.Value));

        //            estructuraCostoLabel.Text = ec.descripcion;
        //            descripcionInsertTextBox.Text = ec.descripcion;

        //        }

        //    }

          
        //    CabeceraUpdatePanel.Update();
            
        //}
    
        private void ShowAllComboBoxNew()
        {
            ListValueBL bl= new ListValueBL();
            List<ListValueInfo> tipodocumentos = bl.GetDocumentoTipoNotaSalida();
            List<ListValueInfo> motivos=bl.GetMotivoNotaSalida();
            List<ListValueInfo> Almacenes=bl.GetAlmacenes(int.Parse(idObra.Value));
            List<ListValueInfo> UnidadNegocio = bl.GetUnidadTrabajoXObra(int.Parse(idObra.Value));
                
            tipoDocDropDownList.DataValueField="idInternal";
            tipoDocDropDownList.DataTextField="descripcion";

            motivoDropDownList.DataValueField="idInternal";
            motivoDropDownList.DataTextField = "descripcion";

            almacenDestinoDDL.DataValueField = "idInternal";
            almacenDestinoDDL.DataTextField = "descripcion";
           
              

            unitNegocioDropDownLis.DataValueField = "idInternal";
            unitNegocioDropDownLis.DataTextField = "descripcion";
            

            motivoDropDownList.DataSource = motivos;
            tipoDocDropDownList.DataSource = tipodocumentos;
           
            unitNegocioDropDownLis.DataSource = UnidadNegocio;
            motivoDropDownList.DataBind();
            tipoDocDropDownList.DataBind();
           
            unitNegocioDropDownLis.DataBind();

            if (UnidadNegocio.Count == 0)
            {
                unitNegocioDropDownLis.Visible = false;
                unidadTrabajoLabel.Visible = false;
            }
            
           



        }
        protected void btnContinue_OnClick(object sender, EventArgs e)
        {
         

            try
            {
                if ((sender as Button).Text == refreshButton.Text)
                {
                    FormatForm();
                }

                if ((sender as Button).Text == saveButton.Text)
                    {
                    //saveButton.Enabled = false;

            
                    // verificamos si es de actualizacion o ingreso

            
                if (type.Value == "E")
                {

                    Edit();
                }
                if (type.Value == "A")
                {
                    Insert();
                }
                

                if (internalid.Value!="")
                {
                    
                    // ejecutar un script 
                 //   Response.Write("javascript:history.back();");
                 //   ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 //"uniqueKey" + DateTime.Now, "javascript:history.back();", true);
                    Response.Redirect("NotaSalidaReadForm.aspx?idAlmacen=" + idAlmacen.Value + "&id=" + internalid.Value + "&idObra=" + idObra.Value, false);
                }         


            }
                if ((sender as Button).Text == cancelarButton.Text)
            {
                Response.Redirect("NotaSalidaListForm.aspx?idAlmacen=" + idAlmacen.Value + "&idObra=" + idObra.Value);
            }
           

              
                   }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);
                saveButton.Enabled = true;

            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);
                saveButton.Enabled = true;
            }
        }

        private void Insert()
        {

            
            int idSolicitador = 0;
            int idAutorizador = 0;
            int? unidadNegocio=null;
            int.TryParse(idautorizadoEditTextBox.Text, out idAutorizador);
            

            if (unitNegocioDropDownLis.SelectedValue != "")
            {
                unidadNegocio = int.Parse(unitNegocioDropDownLis.SelectedValue);
            }
            
            if (idAutorizador == 0) { throw new Exception("Verifique Autorizador"); }

            System.IFormatProvider MiFp =new System.Globalization.CultureInfo("es-ES", false);

            DataSet dsColeccion = (DataSet)Session[idColeccionList.Value];
           
            

            NotaSalidaBL recep = new NotaSalidaBL();
                int id = recep.Add(
                     DateTime.ParseExact(fechaEmisonTextBox.Text, "dd/MM/yyyy", MiFp),
                    int.Parse(motivoDropDownList.SelectedValue),
                    documentoTextBox.Text,
                    int.Parse(tipoDocDropDownList.SelectedValue),
                    int.Parse(idObra.Value),
                    SolicitaEditTextBox.Text,
                    idAutorizador,
                    unidadNegocio,
                    int.Parse(idAlmacen.Value),
                    observacionTextBox.Text,
                    (motivoDropDownList.SelectedValue=="12"?almacenDestinoDDL.SelectedValue.ToInt2():null),
                    dsColeccion);

            internalid.Value =id.ToString();
        }

        private void Edit()
        {
            //System.IFormatProvider MiFp = new System.Globalization.CultureInfo("es-ES", false);

            //DataSet dsColeccion = (DataSet)Session[idColeccionList.Value];
          
            //NotaSalidaBL recep = new NotaSalidaBL();
            //int id = recep.Update(int.Parse(internalid.Value),
            //    documentoTextBox.Text,
            //    int.Parse(tipoDocDropDownList.SelectedValue),
            //    DateTime.ParseExact(fechaEmisonTextBox.Text, "dd/MM/yyyy", MiFp),
            //    observacionTextBox.Text,
                        
            //   dsColeccion);

        }

        private void LoadEntidad(int idInternal)
        {

            NotaSalidaBL bol = new NotaSalidaBL();
            NotaSalidaInfo notaIngreso = bol.Load(idInternal);
            DataTable items = Util.EntidadToDataTable(bol.GetNotaSalidaItem(idInternal));


            tipoDocDropDownList.SelectedValue = notaIngreso.idDocumentoTipo.ToString();
            numDocumentoLabel.Text = notaIngreso.numDocumento;
            motivoDropDownList.SelectedValue = notaIngreso.idMotivo.ToString();
            documentoTextBox.Text = notaIngreso.documentoRef;
            fechaEmisonTextBox.Text = notaIngreso.fechaStr;
            observacionTextBox.Text = notaIngreso.observacion;



            DataSet ds = new DataSet();

            ds.Tables.Add(items);
            ds.AcceptChanges();
            Session[idColeccionList.Value] = ds;

        }
        #region "Item eventos"

        private void DataBindItems()
        {
            DataSet ItemList = (DataSet)Session[idColeccionList.Value];

            NotaSalidaItemInfo nIItem = new NotaSalidaItemInfo();

            itemGridView.DataSource = ItemList.Tables[nIItem.GetType().Name];
            itemGridView.DataBind();


            //antes por el databind
            if (idOC.Value == String.Empty)
            { 
                itemGridView.ShowFooter = true;
                //setFooter();
            }

            if (itemGridView.Rows.Count == 0)
            {
                // agregamos un registro debido al footer

                List<NotaSalidaItemInfo> drw = new List<NotaSalidaItemInfo>();
                drw.Add(nIItem);
                itemGridView.DataSource = drw;
                itemGridView.DataBind();
                itemGridView.Rows[0].Visible = false;
            }




            ItemUpdatePanel.Update();
        }


        private void setFooter()
        {



            Input descripcionInsertTextBox =
                                            ((Input)itemGridView.FooterRow.FindControl("descripcionInsertTextBox"));

            descripcionInsertTextBox.ChkVal = idAlmacen.Value;

        }
        protected void EditItem(object sender, GridViewEditEventArgs e)
        {
            try
            {
                
                itemGridView.EditIndex = e.NewEditIndex;
                itemGridView.FooterRow.Visible = false;

                //if (type.Value == "E")
                //{
                //    string idInternal = ((GridView)itemGridView).DataKeys[e.NewEditIndex].Values[0].ToString();
                //    BOL.NotaSalidaBL bol = new NotaSalidaBL();
                //    NotaIngresoItemInfo niInfo = bol.LoadNotaIngresoItemOrigen(int.Parse(idInternal));
                //    TextBox idobratxt = ((TextBox)itemGridView.Rows[itemGridView.EditIndex].FindControl("cantidadOrigEditTextBox"));
                //    idobratxt.Text = niInfo.cantidadOrig.ToString();
                //}

                DataBindItems();
            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }

        }
        protected void CancelEditItem(object sender, GridViewCancelEditEventArgs e)
        {
            try
            {
                itemGridView.EditIndex = -1;
                DataBindItems();
                itemGridView.FooterRow.Visible = true;

            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }

        }
        protected void UpdateItem(object sender, GridViewUpdateEventArgs e)
        {
            try
            {

                string idInternal = ((GridView)sender).DataKeys[e.RowIndex].Values[0].ToString();
                string cantidad = ((System.Web.UI.WebControls.TextBox)itemGridView.Rows[e.RowIndex].FindControl("cantidadEditTextBox")).Text;

                NotaSalidaItemInfo ItemsInfo = new NotaSalidaItemInfo();
                DataSet recursos = (DataSet)Session[idColeccionList.Value];

                DataRow drw = (from a in recursos.Tables[ItemsInfo.GetType().Name].AsEnumerable().Where(p => p.RowState != DataRowState.Deleted)
                               where a.Field<int>("idInternal") == int.Parse(idInternal)
                               select a).First();
                ItemsInfo = (NotaSalidaItemInfo)Util.DataRowToEntidad(drw, ItemsInfo.GetType());

                if (Convert.ToDecimal(cantidad) > ItemsInfo.cantidadOrig)
                {
                    throw new Exception("No puede ser mayor  al  Origen");
                }

                
                ItemsInfo.cantidad = decimal.Parse(cantidad);

                Util.EntidadUpdateDataRow(ItemsInfo,drw);

                Session[idColeccionList.Value] = recursos;
                itemGridView.EditIndex = -1;
                //itemGridView.FooterRow.Visible = true; solo editar
                DataBindItems();
                
            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }

        }
        protected void Deleteitem(object sender, EventArgs e)
        {
            try
            {

                System.Web.UI.WebControls.ImageButton lnkRemove = (System.Web.UI.WebControls.ImageButton)sender;
                int idInternal = int.Parse(lnkRemove.CommandArgument.ToString());


                DataSet Items = (DataSet)Session[idColeccionList.Value];
                NotaSalidaItemInfo item = new NotaSalidaItemInfo();
                DataRow drw = (from a in Items.Tables[item.GetType().Name].AsEnumerable().Where(p => p.RowState != DataRowState.Deleted)
                               where a.Field<int>("idInternal") == idInternal
                                   select a).First();

                Items.Tables[item.GetType().Name].Rows.Remove(drw);
                //drw.Delete(); errores por  el caso de bol
                
                Session[idColeccionList.Value.ToString()] = Items;
                DataBindItems();
                   
                

            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }

        }
        protected void AddNewItem(object sender, EventArgs e)
        {
            try
            {
                string idinsumo = ((System.Web.UI.WebControls.TextBox)itemGridView.FooterRow.FindControl("IdInsumoTXT")).Text;
                if (idinsumo == "")
                {
                    throw new Exception("Ingrese Recurso");
                }
                string codigo = ((System.Web.UI.WebControls.TextBox)itemGridView.FooterRow.FindControl("codigoInsertTextBox")).Text;
                string descripcion = ((System.Web.UI.WebControls.TextBox)itemGridView.FooterRow.FindControl("descripcionInsertTextBox")).Text;
                string unidad = ((System.Web.UI.WebControls.TextBox)itemGridView.FooterRow.FindControl("unidadInsertTextBox")).Text;
                string cantidad = ((System.Web.UI.WebControls.TextBox)itemGridView.FooterRow.FindControl("cantidadinsertTextBox")).Text;
                string cantidadOrig = ((TextBox)itemGridView.FooterRow.FindControl("cantidadOrigInsertTextBox")).Text;

                if (Convert.ToDecimal(cantidad) > Convert.ToDecimal(cantidadOrig))
                {
                    throw new Exception("No puede ser mayor  al  Origen");
                }
                
                DataSet Recursos = (DataSet)Session[idColeccionList.Value];
                
               
               // DataRow drw = Recursos.Tables[niInfo.GetType().Name].NewRow();
                DAL.Insumo insumo = DbUtil.Db.Insumos.Single(p => p.idInternal == idinsumo.ToInt());

                // no debe ingresar mas de un insumo en la misma nota ingreso

                var q = from a in Recursos.Tables["NotaSalidaItemInfo"].AsEnumerable().Where(p => p.RowState != DataRowState.Deleted)
                        where a.Field<int>("idInsumo") == insumo.idInternal
                        select a;
                if (q.Count() > 0)
                {
                    throw new Exception("El Insumo se encuentra registrado, verifique.");
                }

                NotaSalidaItemInfo ItemsInfo = new NotaSalidaItemInfo(
                                    Parametros.GenerarID(),
                                    insumo.idInternal,
                                    insumo.codigo,
                                    insumo.descripcion,
                                    insumo.InsumoUnidad.abreviacion,
                                    decimal.Parse(cantidadOrig),
                                    decimal.Parse(cantidad));
                                    

                DataRow drw = Util.EntidadToDataRow(ItemsInfo);
                Recursos.Tables[ItemsInfo.GetType().Name].ImportRow(drw);
                Session[idColeccionList.Value] = Recursos;

                DataBindItems();
                

            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }

        }
        #endregion

       

        private void updateFecha()
            {
           var fecha=fechaEmisonTextBox.Text.ToDate();
            
            
            if (fecha.IsNotNull())
            {
                
                    new NotaSalidaBL().verificacierreKardex(DbUtil.Db,
                    fecha.Value,
                   idAlmacen.Value.ToInt());
                    
                
                anioTxt.Text = fecha.Value.Year.ToString();
                mesTxt.Text = fecha.Value.Month.ToString();
                fechaup.Update();
                Session[fechaPeriodo.Value] = fecha.Value;
                
            }
            }

        protected void Fecha_click(object sender, EventArgs e)
        {
            try
            {
                updateFecha();
                clearDataItem();

                DataBindItems();
               
                   }
            catch (SqlException sqlex)
            {
                fechaEmisonTextBox.Text = DateTime.Now.ToShortDateString();
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);
                saveButton.Enabled = true;

            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);
                saveButton.Enabled = true;
            }
            
        }

        private void loadAlmacenDestino()
        {
            if (motivoDropDownList.SelectedValue == "12")
            {
                almacenDestinoPNL.Visible = true;
                //retiramos este almacen
                var lista = new ListValueBL().GetAlmacenesXEmpresa(idEmpresa.Value.ToInt());
                var item=lista.Single(p=>p.idInternal==idAlmacen.Value.ToInt());

                lista.Remove(item);
                almacenDestinoDDL.DataSource = lista;
                almacenDestinoDDL.DataBind();
            }
            else
            {
                almacenDestinoPNL.Visible = false;
            }
        }

        protected void motivoDropDownList_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                loadAlmacenDestino();
            }
            catch (SqlException sqlex)
            {
                fechaEmisonTextBox.Text = DateTime.Now.ToShortDateString();
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);
                saveButton.Enabled = true;

            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);
                saveButton.Enabled = true;
            }
        }






    }

}
